using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using Entidades.exceptions;

namespace Datos
{
    public class Usuario : Coneccion
    {
        public Usuario():base(){
        }

        public Entidades.Persona getPersona(string nombre_usuario)
        {
            Entidades.Persona reto=null;
            SqlCommand consultaSQL = new SqlCommand("select * from personas where usuario = @usuario",this.Conec);
            this.Conec.Open();
            consultaSQL.Parameters.Add(new SqlParameter("@usuario",nombre_usuario));
            SqlDataReader result = consultaSQL.ExecuteReader();

            while(result.Read()){
                reto = new Entidades.Persona();
                reto.Apellido = result["apellido"].ToString();
                reto.Direccion = result["direccion"].ToString();
                reto.Email = result["email"].ToString();
                reto.IdPersona = (int) result["id_persona"];
                reto.Legajo = result["legajo"].ToString();
                reto.Nombre = result["nombre"].ToString();
                reto.Telefono = result["telefono"].ToString();
                reto.Usuario = result["usuario"].ToString();
                reto.Password = result["password"].ToString();
            }
            if (reto == null)
            {
                throw new UsuarioNoEncontradoException("no se encontro usuario");
            }
            this.Conec.Close();
            return reto;
        }
        public List<Entidades.Persona> getPersonas()
        {
            List<Entidades.Persona> reto = new List<Entidades.Persona>();
            Entidades.Persona pers;

            SqlCommand consultaSQL = new SqlCommand();
            consultaSQL.Connection = Conec;
            consultaSQL.CommandText = "select * from personas";
            Conec.Open();
            SqlDataReader result = consultaSQL.ExecuteReader();

            while (result.Read())
            {
                pers = new Entidades.Persona();
                pers.Apellido = result["apellido"].ToString();
                pers.Direccion = result["direccion"].ToString();
                pers.Email = result["email"].ToString();
                //pers.FechaNacimiento = (DateTime)result["fecha_nacimiento"];
                pers.IdPersona = (int) result["id"];
                pers.Legajo = result["legajo"].ToString();
                pers.Nombre = result["nombre"].ToString();
                pers.Telefono = result["telefono"].ToString();
                pers.Usuario = result["usuario"].ToString();
                pers.Password = result["clave"].ToString();
                reto.Add(pers);
            }
            return reto;
        }
	
    }
}
